home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / etc / alarm.c < prev    next >
C/C++ Source or Header  |  1989-07-21  |  718b  |  31 lines

  1. /*
  2.  * Copyright (c) 1983 Regents of the University of California.
  3.  * All rights reserved.  The Berkeley software License Agreement
  4.  * specifies the terms and conditions for redistribution.
  5.  */
  6.  
  7. #if defined(LIBC_SCCS) && !defined(lint)
  8. static char sccsid[] = "@(#)alarm.c    5.2 (Berkeley) 3/9/86";
  9. #endif LIBC_SCCS and not lint
  10.  
  11. /*
  12.  * Backwards compatible alarm.
  13.  */
  14. #include <sys/time.h>
  15.  
  16. alarm(secs)
  17.     int secs;
  18. {
  19.     struct itimerval it, oitv;
  20.     register struct itimerval *itp = ⁢
  21.  
  22.     timerclear(&itp->it_interval);
  23.     itp->it_value.tv_sec = secs;
  24.     itp->it_value.tv_usec = 0;
  25.     if (setitimer(ITIMER_REAL, itp, &oitv) < 0)
  26.         return (-1);
  27.     if (oitv.it_value.tv_usec)
  28.         oitv.it_value.tv_sec++;
  29.     return (oitv.it_value.tv_sec);
  30. }
  31.